Structure of the OOGL Routines

OOGL stands for ``Object-Oriented Graphics Library.'' The library defines a class of ``geometry objects.'' As indicated above, these are object-oriented in the sense that a geometry object is a data structure plus a set of procedures, often called ``methods'', which operate on the data. The object is accessible only through its methods.

Another feature of object-oriented programming is the capacity to create subclasses of a class. There are a number of subclasses of the generic geometry class Geom. In practice, each instance of the Geom class is also an instance of a specific subclass, but this isn't necessarily true in general. Example subclasses include: vectors, polygons, meshes, parametric surface patches, and bounding boxes. There are also composite subclasses built on these, such as lists and instances. See oogl(5) for a description of the file formats belonging to these subclasses.

All subclasses of geometry objects have a set of standard methods used to manipulate the objects. Some example methods are: Create, Delete, Draw, Load, Save, and Print. The name of a subclass's methods begin with the name of that subclass. For example, the Draw method for a mesh is named MeshDraw. In general a subclass can inherit methods from its superclasses; but in OOGL almost all subclass methods are provided specifically for that subclass. These methods behave differently because they are each customized to the particular subclass of geometry object to which they belong. The details of the data structures and existing methods for each subclass can be found in the include file for that subclass. These are kept in GEOM/include.



Subsections